package com.njupt.simulation.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;


@Data
@AllArgsConstructor
@NoArgsConstructor
public class GeoSatellite implements Node{
    private  Integer id;
    //高轨卫星名称
    private String geoName;
    //卫星轨位
    private double longitude;
    //卫星纬度
    private double latitude;
    //卫星高度
    private double height;
    //馈电链路的邻频边带判断
    private int feederTransAdjacentBandFlag;
    //馈电链路邻频边带参数
    private List<AdjacentBand> feederTransAdjacentBand;//数据库中需要写这个字段？
    //高轨卫星发射频段最小值
    private double feederTransFreqMin;
    //高轨卫星发射频段最大值
    private double feederTransFreqMax;
    //发射功率
    private double feederTransmitPower;
    //馈电链路极化方式
    private double feederPolarization;
    //高轨卫星接收频段最小值
    private double feederReceiveFreqMin;
    //高轨卫星接收频段最大值
    private double feederReceiveFreqMax;
    //用户链路的邻频边带判断
    private int userTransAdjacentBandFlag;
    //馈电链路邻频边带参数
    private List<AdjacentBand> userTransAdjacentBand;
    //高轨卫星用户链路发射频段最小值
    private double userTransFreqMin;
    //高轨卫星用户链路发射频段最大值
    private double userTransFreqMax;
    //用户链路发射功率
    private double userTransmitPower;
    //用户链路极化方式
    private String userPolarization;
    //高轨卫星用户链路接收频段最小值
    private double userReceiveFreqMin;
    //高轨卫星用户链路接收频段最大值
    private double userReceiveFreqMax;
    //等效噪声温度
    private double noiseTemperature;
    //天线类型
    private String antennaConfigType;
    //天线增益
    private double gain;
    //3dB波束角宽度
    private double beamWidth;
    //近轴旁瓣电平
    private double sideLobeLevelNear;
    //主轴/次轴比
    private double axisRatio;

}
